package com.foreveross.crawl.adapter;

import java.util.List;

public interface IChannelAdapter {
	/**
	 * 获取抓取链接， 返回链接地址
	 * @param 抓取任务
	 * @return 返回url
     */
	@Deprecated
	public String getUrl() throws Exception;
	/**
	 * 根据链接返回抓取结果
	 * @param url
	 * @return 网页信息
	 */
	public Object fetch(String url) throws Exception;
	/**
	 * 验证抓取结果是否成功
	 * 1.判断抓取的数据是否为空
	 * 2.判断该航班是否无航班信息
	 * 3.判断数据结构是否是你想要的数据
	 * @param fetchObject
	 * @return boolean
	 */
	public boolean validateFetch(Object fetchObject) throws Exception;
	/**
	 * 将抓取单程的结果组合成vo
	 * @param fetchObject
	 * @return List<vo>
	 * @throws Exception 
	 */
	public List<Object> paraseToVo(Object fetchObject) throws Exception;
	
	/**
	 * 销毁资源
	 */
	public void destory();
	
	/**
	 * 返回源网页内容
	 * @return
	 */
	public String getSourceWebPageContents();
	/**
	 * 切换代理IP
	 * @return
	 */
	public boolean switchProxyip();
}
